Hệ điều hành thời gian thực

Một hệ điều hành thời gian thực (real-time operating system (RTOS)) là một hệ điều hành (OS) nhằm phục vụ các ứng dụng thời gian thực, xử lý dữ liệu khi nó đi vào, mà không có sự chậm trễ của bộ đệm. Các yêu cầu thời gian xử lý (bao gồm bất kỳ sự chậm trễ nào của hệ điều hành) được tính bằng phần mười của giây hoặc thời gian ngắn hơn. Chúng hoặc là được sự kiện điều khiển hoặc chia sẻ thời gian. Các hệ thống do sự kiện điều khiển chuyển đổi giữa các nhiệm vụ dựa trên các ưu tiên của chúng trong khi các hệ thống chia sẻ thời gian chuyển công việc dựa trên ngắt đồng hồ.Một đặc điểm chính của một RTOS là mức độ nhất quán liên quan đến số lượng thời gian cần để chấp nhận và hoàn thành nhiệm vụ của một ứng dụng; sự thay đổi là rung pha (jitter: những biến đổi về pha của tín hiệu số thu được so với vị trí lí tưởng của chúng có tần số lớn hơn hoặc bằng 10 Hz).[1] Một hệ điều hành thời gian thực "cứng" có ít jitter hơn một hệ điều hành thời gian thực "mềm". Mục tiêu thiết kế chính không phải là thông lượng cao, mà là sự bảo đảm về một loại hiệu suất mềm hoặc cứng. Một RTOS thường hoặc nói chung đáp ứng được một thời hạn quy định là một hệ điều hành thời gian thực mềm, nhưng nếu nó có thể đáp ứng được một thời hạn xác định thì đó là một hệ điều hành thời gian thực cứng.[2]Một RTOS có một thuật toán tiên tiến cho việc lập thời biểu (scheduling). Tính linh hoạt của bộ lập thời biểu cho phép dàn xếp hệ thống máy tính rộng rãi hơn về các ưu tiên quá trình, nhưng hệ điều hành thời gian thực thường xuyên hơn dành cho một bộ nhỏ các ứng dụng. Các yếu tố chính trong một hệ điều hành thời gian thực là độ trễ ngắt tối thiểu và độ trễ chuyển luồng (thread) tối thiểu; một hệ điều hành thời gian thực được đánh giá cao hơn về mức độ nhanh nhạy hoặc có thể dự đoán được nó như thế nào so với số lượng công việc nó có thể thực hiện trong một khoảng thời gian nhất định.[3]